.b_TopMenu
{
    /* ── Menu layout (from global CSS, not inline <style>) ── */

    menu.top_menu
    {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
        z-index: 999;
        flex-direction: row;
        margin: 0;
        padding: 0 10px;
        font-family: Arial, Helvetica;
        box-sizing: border-box
    }

    menu.top_menu h1,
    menu.top_menu h2,
    menu.top_menu h3,
    menu.top_menu h4,
    menu.top_menu ul,
    menu.top_menu li
    {
        padding: 0;
        margin: 0
    }

    .top_menu .identity
    {
        order: 1;
        padding-left: 10px;
        flex-direction: column;
        position: relative;
        z-index: 999 !important
    }

    .top_menu .identity a
    {
        display: inline-flex;
        justify-content: center;
        visibility: hidden;

        @media screen and (min-width:1451px)
        {
            visibility: visible;
            align-self: start;
        }
    }

    .top_menu .identity .logotype
    {
        min-width: 100px;
        display: none
    }

    .top_menu .buttons
    {
        order: 2;
        white-space: normal;
        padding-right: 10px;
        display: flex;
        align-items: center;
        margin-left: auto;
        z-index: 9999;
    }

    menu.top_menu .buttons a:nth-child(n+3)
    {
        display: none !important
    }

    menu.top_menu .buttons a div
    {
        margin: 2px !important;
        white-space: nowrap
    }

    .top_menu .links
    {
        order: 3;
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        justify-content: center;
        background-color: var(--menu-background-color) !important;
        display: flex;
        align-items: center;
        font-size: 14px;
        margin-top: 0;
        margin-bottom: 0;
        list-style: none
    }

    .top_menu .links li
    {
        padding: 10px !important;
        position: relative;
        white-space: nowrap;
        width: min-content
    }

    .top_menu .links li:after
    {
        content: "";
        width: 0%;
        height: 2px;
        left: 0%;
        position: absolute;
        bottom: 0;
        background-color: var(--menu-background-accent-color);
        transition: all .2s ease-out
    }

    .top_menu .links li:hover:after
    {
        width: 100%;
        left: 0%
    }

    .top_menu .links .submenu li:after
    {
        display: none
    }

    menu.top_menu .submenu
    {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 999;
        padding: 10px;
        transform: translateX(-10px);
        box-shadow: 1px 4px 5px #0000000a;
        background-color: var(--menu-background-color);
        list-style: none
    }

    menu.top_menu .links > li:hover > .submenu
    {
        display: grid;
        grid-template-rows: repeat(var(--menu-submenu-max-num-of-columns, 6), auto);
        gap: 0px;
        grid-auto-flow: column;
        grid-auto-columns: auto
    }

    menu.top_menu .submenu li
    {
        width: 100% !important;
        box-sizing: border-box;
        padding: 15px 50px 15px 30px !important;
        border-right: 1px solid rgba(100,100,100,0)
    }

    .top_menu .links .submenu li
    {
        width: auto !important;
        text-align: left;
        padding-right: 15px !important;
        padding-left: 15px !important
    }

    .top_menu .hamburger
    {
        display: none
    }

    .top_menu .expand-icon
    {
        display: none
    }

    .top_menu .menu-parent
    {
        display: inline
    }

    /* ── Original inline styles ── */

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 article.section-item
    {
        background-color: rgba(244, 203, 74, 0)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200
    {
        background-color: rgb(255, 255, 255)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-item .text-side
    {
        background-color: rgba(0, 0, 0, 0)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-item [data-elementtype=TITLE]
    {
        color: rgba(var(--theme-color-3-rgbv),1);
        font-size: 1.3333333333333333rem
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-item [data-elementtype=SUBTITLE]
    {
        color: rgb(152, 152, 152);
        font-size: 12px
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-item [data-elementtype=MAP]
    {
        --multimap-color-button-background-color: var(--theme-color-1);
        --multimap-color-button-background-hover-color: var(--theme-color-1);
        --multimap-color-button-color: var(--theme-color-2);
        --multimap-color-button-hover-color: var(--theme-color-2);
        --multimap-color-background-color: var(--theme-color-1);
        --multimap-color-color: var(--theme-color-2);
        --multimap-color-title-color: var(--theme-color-1);
        --multimap-color-accent-color: var(--theme-color-3)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .buttons [data-elementtype=BUTTON]
    {
        --button-color-preset-color: rgba(var(--theme-color-5-rgbv),1);
        --button-color-preset-background-hover-color: rgba(var(--theme-color-4-dark-rgbv),1);
        --button-color-preset-background-color: rgba(var(--theme-color-4-rgbv),1);
        --button-color-preset-border-color: rgba(var(--theme-color-2-rgbv),1);
        --button-color-preset-hover-color: rgba(var(--theme-color-2-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .buttons [data-elementtype=BUTTON2]
    {
        --button-color-preset-color: var(--button-color-preset-1-color);
        --button-color-preset-background-hover-color: var(--button-color-preset-1-background-hover-color);
        --button-color-preset-background-color: var(--button-color-preset-1-background-color);
        --button-color-preset-border-color: var(--button-color-preset-1-border-color);
        --button-color-preset-hover-color: var(--button-color-preset-1-hover-color)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .buttons [data-elementtype=BUTTON3]
    {
        --button-color-preset-color: var(--theme-color-5);
        --button-color-preset-background-hover-color: var(--theme-color-6);
        --button-color-preset-background-color: var(--theme-color-6);
        --button-color-preset-border-color: var(--theme-color-5);
        --button-color-preset-hover-color: var(--theme-color-5)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200
    {
        --menu-background-color: rgba(var(--theme-color-2-light-rgbv),1);
        --menu-background-secondary-color: rgba(var(--theme-color-5-rgbv),1);
        --menu-background-accent-color: rgba(var(--theme-color-4-rgbv),1);
        --submenu-background--color: rgba(var(--theme-color-5-rgbv),1);
        --menu-submenu-max-num-of-columns: 12
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] li
    {
        color: rgba(var(--theme-color-6-rgbv),1);
        background-color: rgba(var(--theme-color-2-light-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] li:hover
    {
        background-color: rgba(var(--theme-color-5-rgbv),1);
        color: rgba(var(--theme-color-6-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] p
    {
        color: rgba(var(--theme-color-6-rgbv),1);
        background-color: rgba(var(--theme-color-2-light-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] p:hover
    {
        background-color: rgba(var(--theme-color-5-rgbv),1);
        color: rgba(var(--theme-color-6-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] li:hover a:visited
    {
        color: inherit
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .submenu
    {
        background-color: rgba(var(--theme-color-5-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] .submenu li
    {
        color: rgba(var(--theme-color-6-rgbv),1);
        background-color: rgba(var(--theme-color-5-rgbv),1);
        padding: 40px 0 10px 20px !important;
        @media screen and (min-width:1451px)
        {
            padding: 20px !important;
        }
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 [data-elementtype=MENU] .submenu li:hover
    {
        background-color: rgba(var(--theme-color-2-rgbv),1);
        color: rgba(var(--theme-color-6-rgbv),1)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-item [data-elementtype=ICON]
    {
        height: 70px;
        margin: 10px
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-header [data-elementtype=MAP]
    {
        --multimap-color-button-background-color: var(--theme-color-1);
        --multimap-color-button-background-hover-color: var(--theme-color-1);
        --multimap-color-button-color: var(--theme-color-2);
        --multimap-color-button-hover-color: var(--theme-color-2);
        --multimap-color-background-color: var(--theme-color-1);
        --multimap-color-color: var(--theme-color-2);
        --multimap-color-title-color: var(--theme-color-1);
        --multimap-color-accent-color: var(--theme-color-3)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-header [data-elementtype=BUTTON]
    {
        --button-color-preset-color: var(--theme-color-5);
        --button-color-preset-background-hover-color: var(--theme-color-6);
        --button-color-preset-background-color: var(--theme-color-6);
        --button-color-preset-border-color: var(--theme-color-5);
        --button-color-preset-hover-color: var(--theme-color-5)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-header [data-elementtype=BUTTON2]
    {
        --button-color-preset-color: var(--theme-color-5);
        --button-color-preset-background-hover-color: var(--theme-color-6);
        --button-color-preset-background-color: var(--theme-color-6);
        --button-color-preset-border-color: var(--theme-color-5);
        --button-color-preset-hover-color: var(--theme-color-5)
    }

    #sbid-88a99d2e-10c5-4ac7-b3a7-e73e20074200 .section-header [data-elementtype=BUTTON3]
    {
        --button-color-preset-color: var(--theme-color-5);
        --button-color-preset-background-hover-color: var(--theme-color-6);
        --button-color-preset-background-color: var(--theme-color-6);
        --button-color-preset-border-color: var(--theme-color-5);
        --button-color-preset-hover-color: var(--theme-color-5)
    }
}

/* ── Responsive: hamburger replaces links at ≤1451px ── */

@media (max-width: 1451px)
{
    .b_TopMenu .top_menu
    {
        position:absolute;
    }
    .b_TopMenu .top_menu .links
    {
        display: none
    }

    .b_TopMenu .top_menu .hamburger
    {
        display: block;
        position: relative;
        z-index: 999999;
        order: 3;
        cursor: pointer;
        background-color: transparent !important
    }

    .b_TopMenu .top_menu .hamburger .open_close
    {
        background-color: transparent !important;
        height: 40px;
        width: 40px;
        position: relative
    }

    .b_TopMenu .top_menu .hamburger .open_close:after
    {
        content: "";
        top: 10px;
        right: 8px;
        position: absolute;
        width: 25px;
        height: 12px;
        border-top: 2px solid #cacaca;
        border-bottom: 2px solid #cacaca;
        transition: transform 1s cubic-bezier(.04, .99, .07, 1);
        z-index: 9999
    }

    .b_TopMenu .top_menu .hamburger .open_close:before
    {
        content: "";
        top: 17px;
        position: absolute;
        right: 8px;
        width: 25px;
        height: 2px;
        background: #cacaca;
        transition: transform 1s cubic-bezier(.04, .99, .07, 1);
        z-index: 9999
    }

    .b_TopMenu .top_menu .buttons
    {
        order: 0;
        margin-left: 0;
        margin-right: auto;
        position: relative;
        top: 10px;
        z-index: 9999;
    }

    /* ── show-menu state (hamburger open) ── */

    body.show-menu .b_TopMenu .top_menu .hamburger .open_close:after
    {
        transform: rotate(45deg);
        height: 0px;
        top: 17px;
        border-top: 0px solid white
    }

    body.show-menu .b_TopMenu .top_menu .hamburger .open_close:before
    {
        transform: rotate(-45deg)
    }

    /* Full-screen menu with background color, vertically centered content */
    body.show-menu .b_TopMenu .top_menu
    {
        min-height: 100vh;
        background-color: var(--menu-background-color) !important;
        align-content: center
    }

    /* X close stays in upper right where hamburger icon was */
    body.show-menu .b_TopMenu .top_menu .hamburger
    {
        position: absolute;
        top: 10px;
        right: 10px
    }

    /* Logo centered and visible */
    body.show-menu .b_TopMenu .top_menu .identity
    {
        order: 3;
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 20px 0 10px
    }

    body.show-menu .b_TopMenu .top_menu .identity a
    {
        visibility: visible
    }

    /* Links container */
    body.show-menu .b_TopMenu .top_menu .links
    {
        display: flex;
        flex-direction: column;
        align-items: center;
        order: 4;
        width: 100%;
        padding: 0;
        background-color: transparent !important;
        overflow: auto
    }

    body.show-menu .b_TopMenu .top_menu .links > li
    {
        text-align: left;
        margin-top: 0;
        margin-bottom: 0;
        padding: 40px 30px 40px 60px !important;
        width: 100% !important;
        max-width: 800px;
        white-space: normal !important;
        border-bottom: 1px solid #80808026;
        background-color: transparent !important;
        box-sizing: border-box
    }

    body.show-menu .b_TopMenu .top_menu .links > li:hover
    {
        background-color: transparent !important
    }

    body.show-menu .b_TopMenu .top_menu .links li:after
    {
        display: none
    }

    body.show-menu .b_TopMenu .top_menu .menu-parent
    {
        display: flex;
        align-items: center;
        gap: 8px
    }

    /* +/- expand icon — red, matching theme accent */
    body.show-menu .b_TopMenu .top_menu .expand-icon
    {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 29px;
        height: 29px;
        cursor: pointer;
        font-size: 22px;
        font-weight: bold;
        line-height: 1;
        user-select: none;
        flex-shrink: 0;
        color: #dd494b
    }

    body.show-menu .b_TopMenu .top_menu .menu-closed .expand-icon:before
    {
        content: "+"
    }

    body.show-menu .b_TopMenu .top_menu .menu-open .expand-icon:before
    {
        content: "\2013"
    }

    /* Submenus: hidden by default in mobile, shown when menu-open */
    body.show-menu .b_TopMenu .top_menu .links .menu-closed > .submenu
    {
        display: none
    }

    body.show-menu .b_TopMenu .top_menu .links .menu-open > .submenu
    {
        display: block;
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        box-shadow: none;
        padding: 0;
        padding-left: 20px;
        background-color: transparent !important
    }

    body.show-menu .b_TopMenu .top_menu .links .submenu li
    {
        padding: 12px 20px !important;
        background-color: transparent !important;
        border-bottom: none
    }

    body.show-menu .b_TopMenu .top_menu .links .submenu li:hover
    {
        background-color: transparent !important
    }
}

@media (max-width: 40000px)
{
    /* Request Appt Dialog */
    #request_appt
    {
        background-color: #f9fafa;
        border-radius: 10px;
        width: 100%;
        border: 0;
        max-width: 860px;
        padding: 0;
        height: calc(100% - 80px);
        overflow: hidden;
        max-height: 800px;

        &::backdrop
        {
            background: rgb(0 0 0 / 80%);
        }

        .inner
        {
            padding: 20px 36px;
            height: 100%;
            overflow: auto;
        }

        .intro
        {
            border-bottom: 1px solid #d6d6d6;
            margin: 0 0 15px;
            padding: 0 0 15px;
            display: flex;
            justify-content: space-between;
            align-items: center;

            .h4
            {
                margin:0;
            }
        }

        [value=close] {
            padding: 10px;
            background: rgba(0, 0, 0, 0);
            border: 0;
            margin: 0;
        }

        a {
            color:#079cb2;
        }
    }
}







/* Chris temporarily added this here.  General styling for forms.  Not sure where you want to put it */
/* ________________________________________ GRAVITY FORMS ________________________________________ */
.block {
    .gform_wrapper {
        font-size: 14px;
        line-height: 20px;

        .gform_validation_errors{
            display: none;
        }
        &.gravity-theme{
            .gform_heading{
                text-align: center;
                margin-block: 20px 40px;
            }
            legend{
                display:none;
            }
            .gfield_description.gfield_validation_message{
                padding: 0;
                border: 0;
                background: transparent;
            }
            .gfield {
                position: relative;
                margin-bottom: 10px;
            }
            .gfield_label{
                padding: 5px;
                display: block;
                width: fit-content;
                line-height: 1;
                font-weight: 400;
                font-size: 14px;
                margin: 0;
            }
            input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea{
                border:0;
                padding:8px 12px;
                font-size:14px;
                width: 100%;
                background: #e9efee;
                border-radius: 4px;
            }
            .ginput_container_select{
                &:after {
                    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTMgOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjU0MTggNy41NTgzN0wxMi42NzkxIDIuMDA1NDNDMTMuNDE4NyAxLjIwOTA1IDEyLjc4MzYgMCAxMS42MzQgMEgxLjM1OTM3QzAuMjA5NzA1IDAgLTAuNDE3MzgzIDEuMjA5MDUgMC4zMTQyMTUgMi4wMDU0M0w1LjQ1MTUyIDcuNTU4MzdDNS45OTgyMSA4LjE0NDc5IDYuOTk1MTEgOC4xNDQ3OSA3LjU0MTggNy41NTgzN1oiIGZpbGw9IiNiNTFhMmMiLz4NCjwvc3ZnPg0K");
                    display: block;
                    width: 20px;
                    height: 30px;
                    position: absolute;
                    top: 28px;
                    right: 5px;
                    place-content: center;
                    text-align: center;
                    transform-origin: center;
                    transition: rotate .3s;
                    border-radius: 15px;
                    pointer-events: none;
                }
                select{
                    padding-block:9px 8px;
                    appearance:none;
                }
                &:has(select:focus):after{
                    rotate: 180deg;
                }
            }
            .ginput_container.ginput_container_radio{
                display: flex;
                flex-wrap: wrap;
                gap: 40px;
            }

            .gfield_radio, .gfield_checkbox {
                input{
                    position: absolute;
                    width: 0;
                    height: 0;
                    opacity: 0;
                }
            }
            .gfield_radio{
                display: flex;
                flex-wrap: wrap;
                gap: 40px;

                label{
                    position: relative;
                    padding-left: 30px;
                    white-space: nowrap;

                    &:before{
                        content: "";
                        display: block;
                        width: 16px;
                        height: 16px;
                        border: 2px solid #b9b9b9;
                        border-radius: 999px;
                        position: absolute;
                        top: 0;
                        left: 0;
                    }
                }

                input:checked + label:after {
                    background: #004852;
                    background-position: -2px -2px;
                    content: '';
                    display: block;
                    position: absolute;
                    top: 4px;
                    left: 4px;
                    height: 12px;
                    width: 12px;
                    border-radius: 999px;
                }
            }

            .gfield_checkbox {
                label{
                    position: relative;
                    padding-left: 30px;

                    &:before{
                        content: "";
                        display: block;
                        width: 20px;
                        height: 20px;
                        border: 2px solid #b9b9b9;
                        position: absolute;
                        top: 5px;
                        left: 0;
                    }
                }

                input:checked + label:after{
                    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjUyNzkgMjEuNzVMMjQuNDcyMSA5Ljc3NzkyTDIyLjUgNy44MDU0MkwxMi41Mjc5IDE3LjgwNTRMNy42Mzg3NSAxMi45MTY3TDUuNjY2NjcgMTQuODg4N0wxMi41Mjc5IDIxLjc1Wk0yLjc3NzkyIDMwQzIuMDI3OTIgMzAgMS4zNzczNiAyOS43MjQ2IDAuODI2MjUgMjkuMTczOEMwLjI3NTQxNyAyOC42MjI2IDAgMjcuOTcyMSAwIDI3LjIyMjFWMi43Nzc5MkMwIDIuMDI3OTIgMC4yNzU0MTcgMS4zNzczNiAwLjgyNjI1IDAuODI2MjUxQzEuMzc3MzYgMC4yNzU0MTcgMi4wMjc5MiAwIDIuNzc3OTIgMEgyNy4yMjIxQzI3Ljk3MjEgMCAyOC42MjI2IDAuMjc1NDE3IDI5LjE3MzggMC44MjYyNTFDMjkuNzI0NiAxLjM3NzM2IDMwIDIuMDI3OTIgMzAgMi43Nzc5MlYyNy4yMjIxQzMwIDI3Ljk3MjEgMjkuNzI0NiAyOC42MjI2IDI5LjE3MzggMjkuMTczOEMyOC42MjI2IDI5LjcyNDYgMjcuOTcyMSAzMCAyNy4yMjIxIDMwSDIuNzc3OTJaIiBmaWxsPSIjMDU0RTU3Ii8+Cjwvc3ZnPgo=");
                    background-position: -2px -2px;
                    border: 0;
                    display: block;
                    width: 20px;
                    height: 20px;
                    border: 2px solid #b9b9b9;
                    position: absolute;
                    top: 5px;
                    left: 0;
                }
            }
            .gform_footer{
                padding-top: 0;
                justify-content: center;
                margin: 0;

                .gform_button button{
                    margin:0;
                    padding: 13px 30px;
                }
                input[type=submit]{
                    background-color: #ff8d6e;
                    border-color: transparent;
                    color: #004852;
                    border-radius: 999px;
                    padding: 10px 20px;
                    font-weight: 500;
                    font-size: 15px;
                }
            }

            /* ---------------------- CONTACT US FORM ---------------------- */
            @media (width >= 1000px){
                #gform_fields_2{
                    display: block;
                    columns:2;
                }
                .gfield.comments {
                    break-before: column;
                }
            }

            /* ---------------------- REQUEST APPT FORM ---------------------- */
            /* Message below terms */
            #field_4_13{
                border-block: 1px solid #0000001f;
                padding-block: 10px;
            }
        }
    }

    /* Thank you message on request appt form */
    #gform_confirmation_wrapper{
        text-align: center;
        padding: 40px;
    }

}